#!/bin/sh
# 计算字符串长度
string="quickstart is a app"
echo ${#string}
# 获取子串在字符串中的索引位置
echo `expr index "$string" start`
# 获取子串长度
echo `expr match "$string" quick`
echo `expr match "$string" quick.*`
# 抽取子串
# 从string中的position开始
echo ${string:2}
# 从position开始，匹配长度为length
echo ${string:2:3}
# 从右边开始匹配
echo ${string: -3}
# 从左边开始匹配
echo ${string:(3)}
# 从position开始，匹配长度为length, 抽取子串
position=5
length=3
echo `expr substr "$string" "$position" "$length"`
# 抽取字符串中的子串
var1="kafka hadoop yarn mapreduce"
substr_1=${var1:10}
echo $substr_1
substr_2=${var1:10:5}
echo $substr_2
substr_3=${var1: -5}
echo $substr_3
substr_4=${var1:(-5)}
echo $substr_4
substr_5=${var1: -5:2}
echo $substr_5

# 使用expr，索引计数是从1开始计算；使用${string:position},索引计数是从0开始计数
